// samsting : this file is auto create.

#ifndef ALIYUN_OssAdmin_GetBucketPolicyResponse_H_
#define ALIYUN_OssAdmin_GetBucketPolicyResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace OssAdmin {

class GetBucketPolicyResponse : public AcsResponse {
public:
  GetBucketPolicyResponse();

  class WhiteReferList {
    friend class GetBucketPolicyResponse;
  public:
    const std::vector<string>& GetReferList(void) const;
  private:
    std::vector<string> ReferList_;
  }; // WhiteReferList 

  const WhiteReferList& GetWhiteReferList(void) const;
  bool GetDisallowEmptyRefer(void) const;
  bool GetEnableDualCluster(void) const;
  const string& GetErrorFile(void) const;
  const string& GetIndexFile(void) const;
  const string& GetLocation(void) const;
  const string& GetLogBucket(void) const;
  const string& GetLogPrefix(void) const;
  const string& GetIamPolicy(void) const;

private:
  WhiteReferList WhiteReferList_;
  bool   DisallowEmptyRefer_;
  bool   EnableDualCluster_;
  string ErrorFile_;
  string IndexFile_;
  string Location_;
  string LogBucket_;
  string LogPrefix_;
  string IamPolicy_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace OssAdmin {

#endif // #ifndef ALIYUN_OssAdmin_GetBucketPolicyResponse_H_

// end of file 
